package com.WaVel.config;

import com.WaVel.Interceptor.JwtToeknEmplymentInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {


    @Autowired
    private JwtToeknEmplymentInterceptor jwtToeknEmplymentInterceptor;
    /**
     * 注册自定义拦截器
     */
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        log.info("开始注册自定义拦截器...");
        //使用 registry.addInterceptor 方法将名为 jwtToeknEmplymentInterceptor 的拦截器添加到拦截器注册表中
        // 这意味着该拦截器将在处理请求时被调用
        registry.addInterceptor(jwtToeknEmplymentInterceptor)
                //addPathPatterns 方法用于指定哪些请求路径需要被该拦截器拦截。这里，
                // /category 路径和所有以 /user/ 开头的路径（比如 /user/login、/user/profile 等）会被该拦截器处理
                .addPathPatterns("/category")
                .addPathPatterns("/user/**")
                //excludePathPatterns 方法用于指定不需要被拦截器处理的请求路径
                // 这意味着对 /user/login 和 /user/register 的请求将绕过该拦截器，不会被拦截
                .excludePathPatterns("/user/login")
                .excludePathPatterns("/user/register");
    }
}
